home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.util;
-
- import java.util.Enumeration;
- import java.util.Vector;
-
- public class ArrayHelp {
- private static final int QSORT_THRESHHOLD = 8;
-
- public static Vector enumToVector(Enumeration var0) {
- Vector var1 = new Vector();
- enumToVector(var1, var0);
- return var1;
- }
-
- public static void enumToVector(Vector var0, Enumeration var1) {
- if (var1 != null) {
- while(var1.hasMoreElements()) {
- var0.addElement(var1.nextElement());
- }
- }
-
- }
-
- public static Object[] enumToArray(Enumeration var0) {
- Vector var1 = enumToVector(var0);
- int var2 = var1.size();
- Object[] var3 = new Object[var1.size()];
-
- for(int var4 = 0; var4 < var2; ++var4) {
- var3[var4] = var1.elementAt(var4);
- }
-
- return var3;
- }
-
- public static void appendVector(Vector var0, Vector var1) {
- enumToVector(var0, var1.elements());
- }
-
- public static void addArrayToVector(Vector var0, Object[] var1) {
- int var2 = var1.length;
-
- for(int var3 = 0; var3 < var2; ++var3) {
- var0.addElement(var1[var3]);
- }
-
- }
-
- public static void swapElements(Vector var0, int var1, int var2) {
- Object var3 = var0.elementAt(var1);
- var0.setElementAt(var0.elementAt(var2), var1);
- var0.setElementAt(var3, var2);
- }
-
- public static void sortStrings(Vector var0) {
- sort(0, var0.size(), new VectorSort(var0));
- }
-
- public static void sortStrings(Vector var0, int var1, int var2) {
- sort(var1, var2, new VectorSort(var0));
- }
-
- public static void sort(int var0, int var1, DataAccess var2) {
- int var3 = var1 - var0;
- if (var3 < 8) {
- shortsort(var0, var1, var2);
- } else {
- int var4 = var0 + var3 / 2;
- var2.swapValues(var0, var4);
- int var5 = var0;
- int var6 = var1;
-
- while(true) {
- ++var5;
- if (var5 >= var1 || !var2.isLess(var5, var0)) {
- do {
- --var6;
- } while(var6 > var0 && var2.isLess(var0, var6));
-
- if (var6 < var5) {
- var2.swapValues(var0, var6);
- if (var6 - var0 >= var1 - var5) {
- if (var5 + 1 < var1) {
- sort(var5, var1, var2);
- }
-
- if (var0 + 1 < var6) {
- sort(var0, var6, var2);
- }
- } else {
- if (var0 + 1 < var6) {
- sort(var0, var6, var2);
- }
-
- if (var5 + 1 < var1) {
- sort(var5, var1, var2);
- }
- }
- break;
- }
-
- var2.swapValues(var5, var6);
- }
- }
- }
-
- }
-
- private static void shortsort(int var0, int var1, DataAccess var2) {
- while(var1 > var0 + 1) {
- int var3 = var0;
-
- for(int var4 = var0 + 1; var4 < var1; ++var4) {
- if (var2.isLess(var3, var4)) {
- var3 = var4;
- }
- }
-
- --var1;
- var2.swapValues(var3, var1);
- }
-
- }
- }
-